A Fully Abstract Game Semantics for Parallelism with Non-Blocking Synchronization on Shared Variables
نویسنده
چکیده
We present a fully abstract game semantics for an Algol-like parallel language with non-blocking synchronization primitive. Elaborating on Harmer’s game model for nondeterminism, we develop a game framework appropriate for modeling parallelism. The game is a sophistication of the waitnotify game proposed in a previous work, which makes the signals for thread scheduling explicit with a certain set of extra moves. The extra moves induce a Kleisli category of games, on which we develop a game semantics of the Algol-like parallel language and establish the full abstraction result with a significant use of the non-blocking synchronization operation. 1998 ACM Subject Classification F.3.2 Semantics of Programming Languages, F.1.1 Models of Computation, F.1.2 Modes of Computation
منابع مشابه
Traces, Pomsets, Fairness and Full Abstraction for Communicating Processes
We provide a denotational trace semantics for processes with synchronous communication and a form of weakly fair parallelism. The semantics is fully abstract: processes have the same trace sets if and only if their communication behaviors are identical in all contexts. The model can easily be adapted for asynchronously communicating processes, or for shared-memory parallel programs. We also pro...
متن کاملTechnical Report no . 2002 - 02 NOBLE : A Non - Blocking Inter - Process Communication Library 1 Håkan
Many applications on shared memory multi-processor machines can benefit from the exploitation of parallelism that non-blocking synchronization offers. In this paper, we introduce a library support for multi-process non-blocking synchronization called NOBLE. NOBLE provides an interprocess communication interface that allows the user to select synchronization methods transparently to the one that...
متن کاملTechnical Report no . 2002 - 02 NOBLE : A Non - Blocking Inter - Process Communication Library 1 Håkan Sundell
Many applications on shared memory multi-processor machines can benefit from the exploitation of parallelism that non-blocking synchronization offers. In this paper, we introduce a library support for multi-process non-blocking synchronization called NOBLE. NOBLE provides an interprocess communication interface that allows the user to select synchronization methods transparently to the one that...
متن کاملBad Variables Under Control
We give a fully abstract game model for Idealized Algol with non-local control flow. In contrast to most previous papers on game semantics, we do not need to include the bad-variable constructor mkvar to obtain full abstraction. Using the model we show that, unlike in the “control-free” case, the presence of mkvar does affect observational equivalence. We conclude by discussing the effect of mk...
متن کامل“Blocking without Locking” or LFTHREADS: A lock-free thread library
This paper presents the synchronization in LFTHREADS, a thread library entirely based on lock-free methods, i.e. no spin-locks or similar synchronization mechanisms are employed in the implementation of the multithreading. Since lockfreedom is highly desirable in multiprocessors/multicores due to its advantages in parallelism, fault-tolerance, convoy-avoidance and more, there is an increased de...
متن کامل